Image matching is a technique being used in computer vision, object recognition, motion tracking, three-dimensional (3D) modeling, and the like, which can be performed to check whether two images contain the same content. For example, a user interested in determining availability of a book can capture an image of the book and submit the image to an image matching service as a query image in order to be provided with information associated with the book in return. In order to accomplish this, a conventional object recognition system receives a number of top potentially matching candidates for the query image from an image match index, where each of these candidates is given a search score. These candidates are subsequently sorted by their search score, and the top results are chosen for further processing. A minimum and maximum number of candidates are used to determine these top results. Such a matching system then geometrically processes these candidates, filtering out non-matching candidates along the way. Geometric processing, however, is an expensive, yet necessary step for preventing nonmatching and, therefore, incorrect candidates from being displayed to a user.
Accordingly, once a corresponding match is identified, information associated with the matching candidate (e.g., information for purchasing the book) can be provided and displayed to the user on their computing device. As similar more images begin to look similar or are near duplicates of each other, however, the ideal match (visual and/or relevant) may not end up being in the number of top potentially matching candidates for a variety of reasons, such as poor quality database images, distracting query image features causing the wrong results to be given higher scores, different scales between the query and database images, and the like. This problem can be addressed by increasing the maximum number of candidates to be geometrically process, however, geometrically verifying each match is computationally expensive and increasing the number of candidates can add significant latency to each query and is, therefore, not considered a practical solution. Accordingly, a method for processing a larger number of candidate images, that does not significantly increasing latency, is desirable.